#pragma once
#include"HashTable.h"

namespace lth
{
	template<class k, class v, class Hush = HashFuc<k>>
	class unordered_map
	{
		struct MapKeyOfT
		{
			k operator()(const pair<k, v>& data)
			{
				return data.first;
			}
		};
	public:

		bool insert(const pair<k, v>& data)
		{
			return _ht.insert(data);
		}

		bool find(const k& key)
		{
			return _ht.find(key);
		}

		bool erase(const k& key)
		{
			return _ht.erase(key);
		}


	private:
		HashTable<k, pair<const k, v>, MapKeyOfT, Hush> _ht;
	};
}